# 生成九九乘法表(for ... in 循环）
# 格式一
for i in range(1, 10):                                         # 生成数列1~9，i每循环一次，打印新的一行
    for j in range(1, i+1):                                    # 生成数列1-(i+1),j每循环一次，那一行便多一个乘法式子
        print('{}*{}={:<4}'.format(j, i, i*j), end=' ')        # 格式化输出;end=' '用来让循环输出都打印在同一行
    print('')                                                  # j循环完换行

print('='*80)


# 格式二
for i in range(9, 0, -1):                                      # 生成数列9~1，i每循环一次，打印新的一行
    for j in range(1, i+1):
        print('{}*{}={:<4}'.format(j, i, i*j), end=' ')
    print('')

print('='*80)


# 格式三
for i in range(1, 10):
    for j in range(9, 0, -1):
        if j > i:                                               # 用j的大小控制每行输出式子的个数
            print('{} {} {:<4}'.format(' ', ' ', ' '), end=' ') # 不用打印式子的地方用空格占位子
        else:
            print('{}*{}={:<4}'.format(j, i, i*j), end=' ')
    print('')

print('='*80)


# 格式四
for i in range(9, 0, -1):
    for j in range(9, 0, -1):
        if j > i:                                               # 用j的大小控制每行输出式子的个数
            print('{} {} {:<4}'.format(' ', ' ', ' '), end=' ')
        else:
            print('{}*{}={:<4}'.format(j, i, i*j), end=' ')
    print('')

print('='*80)


# 生成九九乘法表（while循环)
# 格式一
i = j = 1
while i < 10:                                               # 第一个while循环控制生成的行数
    while j < i+1:                                          # 第二个while循环控制生成的列数
        print('{}*{}={:<4}'.format(j, i, j*i), end=' ')     # i是乘号右边的数，j是乘号左边的数
        j += 1
    print('')
    i += 1
    j = 1

print('='*80)


# 格式二
i = 9
j = 1
while i > 1:
    while j < i+1:
        print('{}*{}={:<4}'.format(j, i, j*i), end=' ')
        j += 1
    print('')
    i -= 1
    j = 1

print('='*80)


# 格式三
i = 1
j = 9
while i < 10:
    while j > 0:
        if j < i+1:
            print('{}*{}={:<4}'.format(j, i, j*i), end=' ')
            j -= 1
        else:
            print('{} {} {:<4}'.format(' ', ' ', ' '), end=' ')
            j -= 1
    print('')
    i += 1
    j = 9

print('='*80)


# 格式四
i = 9
j = 9
while i > 0:
    while j > 0:
        if j < i+1:
            print('{}*{}={:<4}'.format(j, i, j*i), end=' ')
            j -= 1
        else:
            print('{} {} {:<4}'.format(' ', ' ', ' '), end=' ')
            j -= 1
    print('')
    i -= 1
    j = 9

print('='*80)
